One example of a coding scheme that can be utilized for transferring data is bi-phase modulation. Each bit-window (i.e., period) of a bi-phase modulation signal represents a single logic bit, with each bit-window beginning with a logic-state edge-transition. A logic-low is represented by a substantially constant logic-state through the bit-window, whereas a logic-high is represented by an additional logic-state edge-transition in the approximate center of the bit-window.
When the amplitude of a bi-phase modulation signal is sufficient, any of a variety of different decoding algorithms can be implemented to decode the bi-phase modulation signal. However, as the amplitude of the signal decreases, such as due to filtering and/or transmission medium losses, decoding the bi-phase modulation signal can be difficult. For example, the presence of noise can make it more difficult to align the period of the bi-phase modulation signal to the receiver, such as based on synchronizing the receiver to a preamble of the bi-phase modulation signal. In addition, in some bi-phase modulation signal transmission implementations, there may be no external clock to align the phase and/or frequency of the bi-phase modulation signal, which can further complicate decoding of the bi-phase modulation signal. As an example, a frequency mismatch between the transmitter and receiver clocks can result in demodulation errors in decoding the bi-phase modulation signal.